先介绍一下仓库: Helm 的 Repo 仓库和 Docker Registry 比较类似,Chart 库可以用来存储和共享打包 Chart 的位置 helm repo list来查看当前的仓库配置 默认不是阿里的是是https://kubernetes-charts.storage.googleapis.com/ 这样我们就可以将我们的 Helm 默认仓库地址更改成我们自己的仓库地址了: 仓库添加完成后,可以使用 update 命令进行仓库更新

查找 chart 一个安装实例就是一个新的 Release,要找到新的 Chart,我们可以通过搜索命令完成 直接运行helm search命令可以查看有哪些 Charts 是可用的 使用过滤条件进行搜索来缩小搜索的结果范围 inspect 命令来查看一个 chart 的详细信息 安装 chart 现在 mysql chart 已经安装上了,安装 chart 会创建一个新 release 对象 【注】如果你想使用你自己的 release 名称,只需使用--name参数指定即可 如果你想使用你自己的 release 名称,只需使用--name参数指定即可 要跟踪 release 状态或重新读取配置信息,可以使用 helm status 查看: 自定义 chart 我们可以直接在 YAML 格式的文件中来覆盖上面的任何配置,在安装的时候直接使用该配置文件即可:(config.yaml) 里通过 config.yaml 文件定义了 mysqlUser 和 mysqlDatabase,并且把 service 的类型更改为了 NodePort,

看一下效果

创建的 Pod 都是 Pending 状态,直接使用 describe 命令查看下: 发现没有pvc kubectl describe pod mysql-7cf9fb9887-bgs7k 可以在yaml文件添加 或者: helm install stable/mysql --set persistence.enabled=false --name mysql

在创建一下试试 发现再次创建相同名字的会失败 看一下历史记录 然后升级一下看看升级命令 helm upgrade -f config.yaml mysql1 stable/mysql 【 helm upgrade 】

如果我们要回滚到某一个版本的话,使用 helm rollback 命令即可

显示被删掉的 helm list --deleted

显示所有的 helm list --all 如果要彻底删除 release,则需要加上--purge参数: 由于 Helm 保留已删除 release 的记录,因此不能重新使用 release 名称。(如果 确实 需要重新使用此 release 名称,则可以使用此 --replace 参数,但它只会重用现有 release 并替换其资源。)